﻿namespace WindowsPhoneMvp
{
    ///<summary>
    /// Specifies the presenter interface in an Windows Phone MVP application
    ///</summary>
    ///<typeparam name="TView">The type of view.</typeparam>
    ///<typeparam name="TModel">The type of model.</typeparam>
    public interface IPresenter<TView, TModel> : IPresenter<TView>
        where TView : class, IView
        where TModel : class, new()
    {
        /// <summary>
        /// Gets the model instance. The default presenter base class
        /// (<see cref="Presenter{TView}"/>) initializes this automatically.
        /// </summary>
        TModel Model { get; }
    }
}
